#ifndef MUSIC_H
#define MUSIC_H

#include <QUuid>
#include <QUrl>
#include <QMediaPlayer>
#include <QCoreApplication>
#include <QSqlDatabase>
#include <QSqlQuery>
#include <QSqlError>

class Music
{
public:
    Music();
    Music(QUrl url);
    void setMusicName(const QString& musicName);
    void setMusicSinger(const QString& musicSinger);
    void setMusicAlbumn(const QString& musicAlbumn);
    void setMusicDuration(qint64 duration);
    void setIsLike(bool isLike);
    void setIsHistory(bool isHistory);
    void setMusicUrl(QUrl musicUrl);
    void setMusicId(const QString& musicId);
    QString getMusicID()const;
    QString getMusicName()const;
    QString getMusicSinger()const;
    QString getMusicAlbumn()const;
    qint64 getMusicDuration()const;
    bool getIsLike()const;
    bool getIsHistory()const;
    QUrl getMusicUrl()const;
    QString getLrcFilePath()const;

    void InsertMusicDB();
private:
    void parseMediaMetaMusic();
private:
    // 给每首音乐分配唯一的ID 防止音乐名称重复
    QString musicId;
    // 音乐名称 音乐作者 音乐专辑 音乐时长 是否收藏 是否为历史播放 音乐QUrl
    QString musicName;
    QString musicSinger;
    QString musicAlbumn;
    qint64 duration; // 毫秒
    bool isLike;
    bool isHistory;
    QUrl musicUrl;
};

#endif // MUSIC_H
